package com.jiangxjsy.crm.service;

import com.jiangxjsy.model.crm.bo.CrmFieldBO;
import com.jiangxjsy.model.crm.entity.CrmField;
import com.jiangxjsy.model.crm.vo.CrmFieldSortVO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * wukong-crm-master
 * 蒋胜宇
 * 2025/6/18 16:13
 */

public interface CrmFieldService {
    /**
     * 查询模块字段列表
     *
     * @param label 模块标识
     * @param request 请求
     * @param response 响应
     * @return 模块字段列表
     */
    List<CrmFieldSortVO> queryListHead(Integer label, HttpServletRequest  request, HttpServletResponse response);

    /**
     * 查询自定义字段列表
     *
     * @param label 模块标识
     * @param isQueryHide 是否查询隐藏字段
     * @return 自定义字段列表
     */
    List<CrmFieldBO> list(Integer label, boolean isQueryHide);

    /**
     * 查询隐藏字段
     *
     * @param label 模块标识
     * @return 隐藏字段
     */
    List<CrmField> queryHiddenFieldNamesByLabel(Integer label);

    /**
     * 根据模块标识和字段类型查询字段
     *
     * @param label 模块标识
     * @param descTextType 字段类型
     * @return 字段列表
     */
    List<CrmField> queryCrmFieldsByLabelAndType(Integer label, Integer descTextType);
}
